package com.yunweiweishi.xuhuanpaltform.yuhuan_app.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunweiweishi.xuhuanpaltform.yuhuan_app.comm.emun.UserType;
import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;


@Entity
@Data
@Table(name = "user")
public class User   {

    /**
     *
     * REATE TABLE `user` (
     *   `id` bigint(20) NOT NULL COMMENT '角色id',
     *   `role` int(11) NOT NULL,
     *   `user_name` varchar(255) DEFAULT NULL COMMENT '用户姓名',
     *   `dept_name` varchar(255) NOT NULL COMMENT '部门',
     *   `post_name` varchar(255) NOT NULL COMMENT '岗位',
     *   `password` varchar(255) DEFAULT NULL COMMENT ' 密码 需要对其盐加密',
     *   `phone_number` bigint(20) DEFAULT NULL,
     *   `status` int(20) DEFAULT NULL COMMENT '用户的状态  是否启用',
     *   `create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
     *   `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
     *   `create_by` int(11) NOT NULL,
     *   `update_by` int(11) NOT NULL,
     *   `remark` varchar(255) DEFAULT NULL COMMENT '备注',
     */

    @Id
    @GeneratedValue
    private  Long id;

    /**
     * 用户的姓名
     */
    private  String userName;

    /**
     * 电话号码
     */
    private  String phoneNumber;
    /**
     * 用户的密码
     */
    private  String password;


    /**
     * 加密使用的盐
     */
    private  String salt;

    /**
     * 部门的名称
     */
    private  String deptName;

    /**
     * 岗位的名称
     */
    private  String postName;


    /**
     * 角色
     */
   // private Role role;


    /**
     *
     * 用户的状态   要使用枚举类
     */

    private UserType status;



    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    private String remark;

}
